package cn.tedu.inner;



//测试 匿名内部类 --在方法里
public class Test5 {
    public static void main(String[] args) {
//    AA a=new AA();//接口不能实例化
//    AA a=new BB();//多态对象，用来统一调用标准，向左边看齐
//        a.save();
        //匿名内部类配合匿名对象一起用--好处：是优化了结构
        new AA() {//直接new接口，在内部类里重写抽象方法，只执行一个任务用匿名对象
            @Override
            public void save() {
                System.out.println(123);
            }
        }.save();//调用方法
        //TODO 5.练习匿名内部类
        X x = new X(){
            @Override
            public void del(int id) {
                System.out.println(id);
            }
            @Override
            public void get() {
                System.out.println(100);
            }
        };
        //匿名对象，一次只执行一个任务。想用一个对象执行很多任务，定义个名字
        x.get();//调用方法
        x.del(10);
    }
}

//TODO 5.练习匿名内部类
interface X{
    void del(int id);
    void get();
}

//定义接口
interface AA{
    //接口里都是抽象方法，可以简写
//    public abstract void  save();
    void  save();

}

//创建实现类，实现接口，必须重写所有的抽象方法，否则就是一个抽象类
//class BB implements AA{
//    @Override
//    public void save() {
//
//    }
//}




